package com.twb.netty.entity;

import java.io.Serializable;

import org.apache.commons.lang3.StringUtils;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @ClassName NettyMessage
 * @Description netty消息
 * @author DHL
 * @date 2021年7月7日 上午9:52:04
 */
@ApiModel(value = "NettyMessage", description = "netty消息")
public class NettyMessage implements Serializable {
	private static final long serialVersionUID = 1L;

	/** 接收方项目编码 */
	@ApiModelProperty(value = "接收方项目编码")
	private String appId;

	/** 发送者用户ID */
	@ApiModelProperty(value = "发送者用户ID")
	private String senderUserId;

	/** 接收者用户ID */
	@ApiModelProperty(value = "接收者类型（1全部、2公司、3部门、4个人）")
	private String receiverType;
	
	/** 接收者用户ID */
	@ApiModelProperty(value = "接收者用户ID")
	private String receiverId;

	/** 消息类型（1：表示连接；2：表示发送消息；3：接收消息；4：检测心跳） */
	@ApiModelProperty(value = "消息类型（1：表示连接；2：表示发送消息；3：接收消息；4：检测心跳）")
	private Integer type;

	/** 消息内容 */
	@ApiModelProperty(value = "消息内容")
	private String content;

	
	/** 接收方项目编码 */
	public String getAppId() {
		return appId;
	}

	/** 接收方项目编码 */
	public void setAppId(String appId) {
		this.appId = appId;
	}

	/** 发送者用户ID */
	public String getSenderUserId() {
		return senderUserId;
	}

	/** 发送者用户ID */
	public void setSenderUserId(String senderUserId) {
		this.senderUserId = senderUserId;
	}

	/** 消息类型（1：表示连接；2：表示发送消息；3：接收消息；4：检测心跳） */
	public Integer getType() {
		return type;
	}

	/** 消息类型（1：表示连接；2：表示发送消息；3：接收消息；4：检测心跳） */
	public void setType(Integer type) {
		this.type = type;
	}

	/** 消息内容 */
	public String getContent() {
		return content;
	}

	/** 消息内容 */
	public void setContent(String content) {
		this.content = content;
	}

	/**
	 * @Title getAppIdSenderUserIdGroup
	 * @Description appId|senderUserId 分组KEY
	 * @return
	 * @author DHL
	 * @date 2021年7月7日 下午4:44:19
	 */
	public String getAppIdSenderUserIdGroup() {
		if (StringUtils.isBlank(appId) || StringUtils.isBlank(senderUserId)) {
			return null;
		}
		return String.format("%s|%s", this.appId, this.senderUserId);
	}
	
	public String getReceiverType() {
		return receiverType;
	}

	public void setReceiverType(String receiverType) {
		this.receiverType = receiverType;
	}

	public String getReceiverId() {
		return receiverId;
	}

	public void setReceiverId(String receiverId) {
		this.receiverId = receiverId;
	}

	/**
	 * @Title getAppIdReceiverUserIdGroup
	 * @Description appId|receiverUserId 分组KEY
	 * @return
	 * @author DHL
	 * @date 2021年7月8日 下午3:41:32
	 */
	public String getAppIdReceiverUserIdGroup() {
		if (StringUtils.isBlank(appId) || StringUtils.isBlank(receiverId)) {
			return null;
		}
		return String.format("%s|%s", this.appId, this.receiverId);
	}
}
